home *** CD-ROM | disk | FTP | other *** search
-
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
-
- #include "DeskLib:Wimp.h"
- #include "DeskLib:Menu.h"
-
- #include "Globals.h"
- #include "Misc.h"
-
- char* Folders_FolderNameFromNumber(int num)
- {
- int i;
- group_element* grp;
- group_element* pg;
- char* result;
-
- grp=grouplist;
- pg=grp;
- i=-1;
- while ((i<num) && (grp!=NULL))
- {
- if (strncmp(grp->name,"Folder",6)==0) i++;
- pg=grp;
- grp=grp->next;
- }
- if (i==num)
- {
- result=(pg->name)+7;
- }
- else
- {
- result=writablef;
- }
- return result;
- }
-
-
-
- BOOL Folders_CreateMenu(void)
- {
- group_element* gl;
- int length;
- BOOL result;
- char* menudesc;
-
- if (folderlist!=NULL)
- {
- Menu_SDispose(folderlist);
- }
-
- length=0;
- gl=grouplist;
- if (gl!=NULL)
- {
- result=TRUE;
- while (gl!=NULL)
- {
- if (strncmp("Folder",gl->name,6)==0)
- {
- length=length+strlen(gl->name)+1-7;
- }
- gl=gl->next;
- }
- length=length+20;
-
- /* OK so now we know how long the meny description string needs to be */
-
- Misc_Mem_Alloc((void*)&menudesc, length);
- if (menudesc==NULL)
- {
- result=FALSE;
- }
- else
- {
- int i;
-
- i=0;
- (*menudesc)='\0';
- gl=grouplist;
- while (gl!=NULL)
- {
- if (strncmp("Folder",gl->name,6)==0)
- {
- if (strlen(menudesc)!=0) strcat(menudesc, ",");
- strcat(menudesc, (gl->name)+7);
- i++;
- }
- gl=gl->next;
- }
- if (i!=0)
- {
- strcat(menudesc, ",");
- }
- strcat(menudesc,"Writableiconn");
-
-
- folderlist=Menu_New("Folders",menudesc);
-
- Menu_MakeWritable(folderlist, i, writablef, 32, validation);
- Mem_Free((void*)&menudesc);
- if (folderlist!=NULL)
- {
- Menu_AddSubMenu(artwmenu,2,folderlist);
- Menu_AddSubMenu(selection,2,folderlist);
- }
- }
- }
- else
- {
- result=FALSE;
- }
- return result;
- }
-